package cn.itcast.service.impl;

import cn.itcast.dao.StandardDao;
import cn.itcast.domain.Standard;
import cn.itcast.service.StandService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
public class StandServiceImpl implements StandService {

    /**
     * 注入dao层
     */
    @Autowired
    private StandardDao standardDao;

    /**
     * 添加事务
     * 实现service的添加方法
     * @param standard
     */
    @Transactional
    @Override
    public void add(Standard standard) {
        standardDao.save(standard);
    }

    /**
     * 分页查询的方法
     *分页查询
     * @param page 页码
     * @param rows 整页记录数
     * @return
     */
    @Override
    public Page<Standard> pageQuery(int page, int rows) {
        PageRequest pageRequest = PageRequest.of(page-1,rows);//page-1从零开始
        return  standardDao.findAll(pageRequest);//调用dao层查询所有的方法
    }

    /**
     * 查询所有
     * @return
     */
    @Override
    public List findAll() {
        return standardDao.findAll();
    }
}
